|
|||||||||
|
|
The Latest Updates |
|
||||||
|
|||||||||
|
|||||||||
CS302 for Fall 2022 CS302 is an exciting new class being offered at Portland
State University. The goal of CS302 is to provide students with the
necessary tools and foundational material to be successful in the Upper Division
of Computer Science at Portland State University. The pre-req’s are CS163
(Data Structures) and CS201. CS302 is being offered for the first time in the Fall of 2022. It is equivalent to PSU’s Spring and Summer CS202 offerings.
|
|
|
|||||||
|
|
||||||||
What is CS302 all about? -Karla Fant |
|||||||||
CS302
introduces the principles and techniques for producing high-quality software
solutions using modern programming languages such as modern C++ and Python. There
is a heavy focus on learning different methodologies for solving problems
using abstractions as a key component. We cover object-oriented, generic,
and functional programming techniques with exposure to parallel programming.
We experience contemporary software tools such as IDEs, debuggers, version
control with git and much more. The key is that this course is about providing
what you need to be successful in the upper division. Prior to
this point, the 1xx and 2xx level courses focused on building skills and knowledge
in algorithms and data structures. Now it is time to apply what we learned
to solving realistic problems. It isn’t enough to just know how to program;
we need to know if our code is correct and understand the process of
creating “working high-quality software”. This means we need to know how to
test, debug, and perform error handling. This is crucial to your success! |
How is this different than CS202? CS302 is not the same class as CS202 (prior to Spring 2022). In CS302, we take you through a path of learning different programming methodologies and explore modern programming concepts in both C++ and Python as we navigate the material. CS302 covers material on how to: · Apply the Modern C++ Standard Template Library · Read Specifications, test, debug, and provide error handling · Use Abstractions and Build Relationships between Class objects · Program using Generic techniques with Templates and Operator Overloading · Build software using Object Oriented Programing with Inheritance and Dynamic Binding · Understand the essence of Functional Programming, with Lambdas and explore Parallel Programing · Apply Techniques to Multiple Programming Languages ·
Become Fluent using Linux Tools |
||||||||
|
|
||||||||
Your Programming Background Coming into this course, you should be fluent programming algorithms
and data structures taught in the 1xx and 2xx level courses. Hands-on
knowledge of linear, circular, and doubly linked lists, arrays of linked
lists (e.g., hash tables with chaining) and binary search trees is important.
For a refresher, consider taking CS299, our 1-credit data
structure practice lab! |
|||||||||
What Types of Exams
are in CS302? CS302 will have traditional written
exams as well as live programming proficiency demostrations. These take place
at the Midterm and Final times. A
proficiency demonstration is where you will show problem solving and
programming skills. We will practice to
prepare! |
|||||||||
|
|||||||||
|
|||||||||
New Labs! |
Modern Languages |
Experience
Tools |
|||||||
· |
· |
· |
|||||||
|
|||||||||
|
|||||||||
|